package week9.homework;
import java.util.Scanner;
public class pp12_9 {
    public static int[] touch(int n) {//需要返回一个数组。
        int[] puzzle = new int[n];
//        int i =1;//索引值；从第二个数开始，所以索引从1开始。
        if (n == 1)
            puzzle[0] = 1;//这是定义的第一行
        else if (n == 2) {
            puzzle[0] = 1;
            puzzle[1] = 1;//这是定义的第二行
        } else {
            puzzle[0]=1;//这是将第N行的首尾定义成1
            puzzle[n-1]=1;
            for(int i =1;i < n - 1;i++){//让中间的数字每个都去递归实现。
                puzzle[i] = touch(n - 1)[i] + touch(n - 1)[i - 1];//这是通过递归来实现中间的数字等于其上两个数字之和
            }
        }
        return puzzle;//返回用户需要的那一行
    }
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);//这是定义的键盘流
        System.out.println("请输入你要的行数");//让用户输入自己想要的行数
        int a=scan.nextInt();//用户输入的
        pp12_9.touch(a);//调用方法
        int []ant=touch(a);//将产生的数组储存在ant中，因为形参不能被引用
        for(int antm : ant)//用for-each循环将数组中的元素输出出来
        {
            System.out.print(antm+"\t");};//输出对应的行数

        }


    }

